package pro.cherish.knowledgewebflux.config;

import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Profile;
import org.springframework.web.reactive.config.ResourceHandlerRegistry;
import org.springframework.web.reactive.config.WebFluxConfigurer;


/**
 * @author 创建人：lys
 * @version 版本号：V1.0
 * <p>
 * ***************************修订记录************************************
 * 2020-5-27 lys 创建该类功能。
 * **********************************************************************
 * </p>
 * @ClassName 类名：WebfluxConfig
 * @Description 功能说明：webFlux配置，暴露swagger资源（webjar）
 * fixme 现阶段使用的swagger包版本私服（three part模块）3.0.0 ，原包来自http://oss.jfrog.org/oss-snapshot-local的3.0.0-快照版
 * <p>
 * TODO
 * </p>
 * **********************************************************************
 * @date 创建日期： 2020-5-27
 */

@Configuration
@Profile({"!prod"})
public class WebfluxConfig implements WebFluxConfigurer {

	/**
	 * @Description 资源处理，暴露webjar内资源
	 * @param registry
	 * @Return void
	 * @Author lys
	 * @Date 2020-5-27 13:28
	 **/

	@Override
	public void addResourceHandlers(ResourceHandlerRegistry registry) {
		// 原生swagger ui
		registry.addResourceHandler("/swagger-ui.html**")
				.addResourceLocations("classpath:/META-INF/resources/");
		// bootstrap ui
		registry.addResourceHandler("/doc.html**")
				.addResourceLocations("classpath:/META-INF/resources/");
		// webjars
		registry.addResourceHandler("/webjars/**")
				.addResourceLocations("classpath:/META-INF/resources/webjars/");
	}
}
